1. Technical Field
The present invention relates generally to an improved data processing system and in particular to a method and apparatus for updating code in a data processing system. Still more particularly, the present invention relates to a method and apparatus for updating boot code in a data processing system.
2. Description of Related Art
When a computer is started or reset, instructions executed by a processor are used to load and start the operating system for the computer. These instructions are also referred to as “boot code”. Typically, this function may be provided within a basic input/output system (BIOS). A BIOS provides a set of essential software routines that test the hardware at startup, start the operating system, and transfer the supportive data among hardware devices. Typically, BIOS's may be stored in a read-only memory (ROM) so that the BIOS may be executed when the computer is turned on.
Additionally, the BIOS may be stored on some other persistent storage device in which the BIOS may be updated, such as a flash memory. In booting the operating system, the instructions search for the operating system, load the operating system, and then pass control to the operating system.
Updates to operating systems often may require updates to the code used to boot the operating system. This code is also referred to as the “boot code”. In some instances, if the operating system is updated to another version, a particular version of the boot code also may be required. If the boot code remains un-updated, the operating system may not be properly loaded by the boot code. In some cases, the operating system may not run at all. With frequent changes to operating systems, it may be difficult to ensure that the version of the boot code is the correct version required by the operating system.
Therefore, it would be advantageous to have an approved method and apparatus for maintaining a correct version of boot code for an operating system.